package com.hliushi.demo.entity;


import lombok.Data;

import javax.persistence.*;


/**
 * . @Table(name = "user")
 * name属性对应此表在数据库中的名字, 若没有@Table, 则默认与类名先关
 * 即我们次处的类名为User, 它将默认@Table为user (不推荐这样使用)
 */
@Table(name = "t_user", uniqueConstraints = {@UniqueConstraint(columnNames = "account")})
@Data
@Entity             // 实体类, 当有此注解时, 表示类与数据库的某个表, 视图对应
public class UserEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column
    private Integer id;


    /**
     * . @Column:  此为标记列, 上述代码中, 可发现, 有的@Column标志并没有写name,
     * 这是因为, 若没有使用name进行标志,. 则会自动使用变量名, 会对变量名自动进行小驼峰处理
     * 如你的变量名为Email, 它对应数据的表明则会变为email
     */
    @Column
    private String name;

    @Column(name = "email")
    private String email;

    @Column
    private String account;

    @Column(length = 64)
    private String password;
}
